/**
 * Witontek.com.
 * Copyright (c) 2012-2017 All Rights Reserved.
 */
package com.witon.witontool.common.dal.pg.impl;

import java.util.List;

import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;

import com.witon.witontool.common.dal.pg.dao.DbConfigDao;
import com.witon.witontool.common.dal.pg.dbo.DbConfigDo;

/**
 * 
 * @author Long
 * @version $Id: DbConfigDaoImpl.java, v 0.1 2017年6月29日 下午1:46:46  xiaolong.ma  Exp $
 */
@Repository
public class DbConfigDaoImpl extends SqlSessionDaoSupport implements DbConfigDao {

    private final Logger logger    = LoggerFactory.getLogger(this.getClass());

    private final String NAMESPACE = DbConfigDao.class.getName();

    /** 
     * @see com.witon.witontool.common.dal.pg.dao.DbConfigDao#queryList()
     */
    @Override
    public List<DbConfigDo> queryList() {

        return getSqlSession().selectList(NAMESPACE + ".queryList");
    }

    /** 
     * @see com.witon.witontool.common.dal.pg.dao.DbConfigDao#getById(long)
     */
    @Override
    public DbConfigDo getById(long id) {
        logger.info("id={}", id);
        return getSqlSession().selectOne(NAMESPACE + ".getById", id);
    }

    /** 
     * @see com.witon.witontool.common.dal.pg.dao.DbConfigDao#add(com.witon.witontool.common.dal.pg.dbo.DbConfigDo)
     */
    @Override
    public long add(DbConfigDo modelDo) {
        return getSqlSession().insert(NAMESPACE + ".add", modelDo);
    }

    /** 
     * @see com.witon.witontool.common.dal.pg.dao.DbConfigDao#deleteById(long)
     */
    @Override
    public int deleteById(long id) {
        return getSqlSession().delete(NAMESPACE + ".deleteById", id);
    }

    /** 
     * @see com.witon.witontool.common.dal.pg.dao.DbConfigDao#update(com.witon.witontool.common.dal.pg.dbo.DbConfigDo)
     */
    @Override
    public int update(DbConfigDo modelDo) {
        return getSqlSession().update(NAMESPACE + ".update", modelDo);
    }

}
